//从async-validator引入构造函数
import Schema from 'async-validator'

Page({
  data: {
    name: '测试员'
  },

  //对数据进行验证
  checkData() {
    //定义验证规则
    const rules = {
      //key验证规则名字  名字需要和验证的数据一致
      name: [
        {
          //required是必填项
          //message 如果验证错误 则提示message
          required: true,
          message: 'name不能为空'
        },
        //验证规则类型
        {
          type: 'string',
          message: 'name不是字符串'
        },
        {
          min: 2,
          max: 3,
          message: '名字最少两个字最多三个字'
        }
        //数据正则校验
        // {
        //   pattern:'',
        //   message:''
        // },
        //validator 自定义验证规则
        // {
        //   validator: () => {}
        // }
      ]
    }
    //对构造函数进行实例化 同时进行规则验证
    const validator = new Schema(rules)

    //调用实例方法  validator.validate() 对数据进行验证
    //第一个参数 要求数据是一个对象
    // validate 只对规则同名进行校验
    //第二个参数是回调函数
    validator.validate(this.data, (errors, fields) => {
      //验证成功 errors 为none   失败为数组  可识别错误某项

      //fields 需要验证的属性 属性值是数组 包含错误信息
      if (errors) {
        console.log('验证失败')
        console.log(errors)
        console.log(fields)
      } else {
        console.log('验证成功')
      }
    })
  }
})
